How enabling MCP251x (MCP2515) on the Jetson Nano (SPI CAN)?

您所在的位置:网站首页 jetson can How enabling MCP251x (MCP2515) on the Jetson Nano (SPI CAN)?

How enabling MCP251x (MCP2515) on the Jetson Nano (SPI CAN)?

2023-05-26 21:33| 来源: 网络整理| 查看: 265

Hi,

Here are the steps you can follow:

Choose a GPIO pin on J41 (40 pin header) and enable interrupts on that pin. Make proper connections from MCP2515 to SPI controller on J41. There are 2 SPI controller present on J41. I have connected two MCP chips on respective SPI controller with INT pin connected to chosen GPIO. Make changes in Nano DTB: can_clock: can_clock { compatible = “fixed-clock”; #clock-cells = ; clock-frequency = ; clock-accuracy = ; }; spi@7000d400 { /* SPI 1 to 40 pin header */ status = “okay”; spi@0 { compatible = “microchip,mcp2515”; reg = ; spi-max-frequency = ; nvidia,enable-hw-based-cs; nvidia,rx-clk-tap-delay = ; clocks = ; interrupts = ; // GPIO pin chosen from 40 pin header controller-data { nvidia,cs-setup-clk-count = ; nvidia,cs-hold-clk-count = ; nvidia,rx-clk-tap-delay = ; nvidia,tx-clk-tap-delay = ; };

}; };

spi@7000d600 { /* SPI 2 to 40 pin header */ status = “okay”; spi@0 { compatible = “microchip,mcp2515”; reg = ; spi-max-frequency = ; nvidia,enable-hw-based-cs; nvidia,rx-clk-tap-delay = ; clocks = ; interrupts = ; controller-data { nvidia,cs-setup-clk-count = ; nvidia,cs-hold-clk-count = ; nvidia,rx-clk-tap-delay = ; nvidia,tx-clk-tap-delay = ; }; }; 4) Make changes in Nano pinmux and GPIO dtb: Enable SPI0 and SPI1 with SPI functionality by configuring pins(tristate disable, input enable, change function property…) Add GPIO entry in gpio-input section.

Flash with the change in DTB.

Now on device after boot, run following commands: ip link set can0 type can bitrate 500000 ip link set can0 up ip link set can1 type can bitrate 500000 ip link set can1 up candump -x any cansend can0 123#abcdabcd

Thanks, Shubhi



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3